Úplný popis možností custom-script.js

Upravit obsah stránky

Parametrizace COMEX – srozumitelně, po sekcích, včetně typů, defaultů a příkladů pro COMEX/Front‑end pomocí
custom-script.js

Všechny níže uvedené volby se nastavují přes:
 var COMEX, $custom = COMEX.Page.Settings.Custom;

1) Vzhled a layout aplikace

appName (string)

    bullet

    Účel: Název aplikace v titulku/hlavičce.

    bullet

    Default: "COMEX DEV"

    bullet

    Příklad:

     $custom.appName = "MyApp DEV";
    

layout ("v1" | "v2")

    bullet

    Účel: Vizuální styl komponent (kompaktní vs. vzdušnější).

    bullet

    Default: "v2"

    bullet

    Příklad:

     $custom.layout = "v2"; // "v1" = standard, "v2" = airy
    

logoPosition ("left" | "top" | "left + top")

    bullet

    Účel: Umístění loga v menu.

    bullet

    Default: "top"

    bullet

    Příklad:

     $custom.logoPosition = "top";
    

corners ("sharp" | "smooth") a smoothCornersRadius (CSS length)

    bullet

    Účel: Tvar rohů a poloměr zaoblení.

    bullet

    Default: corners = "smooth", smoothCornersRadius = "6px"

    bullet

    Příklad:

     $custom.corners = "sharp";
    $custom.smoothCornersRadius = "6px";
    

iconSet (string|null)

    bullet

    Účel: Volba předpřipravené sady ikon.

    bullet

    Default: null

    bullet

    Příklad:

     $custom.iconSet = "deepblue";
    

colorPalette (string[])

    bullet

    Účel: Nabídka barev v colorboxech.

    bullet

    Default: []

    bullet

    Příklad:

     $custom.colorPalette = ["#000000", "#E44C00", "#4C4D00", /* ... */ "#FEE5FF"];
    

2) Navigace a domovská stránka

navigation (boolean)

    bullet

    Účel: Povolení/zakázání navigace na stránce.

    bullet

    Default: true

    bullet

    Příklad:

     $custom.navigation = true;
    

homepage (boolean)

    bullet

    Účel: Zda má uživatel k dispozici „Moji stránku“.

    bullet

    Default: true

    bullet

    Příklad:

     $custom.homepage = true;
    

homepageFinder (boolean), pageFinder (boolean)

    bullet

    Účel: Zobrazení globálního vyhledávání („hledaček“) na „Moji stránce“ a na ostatních stránkách.

    bullet

    Default: homepageFinder – nedef.; pageFinder – true

    bullet

    Příklad:

     $custom.homepageFinder = true;
    $custom.pageFinder = true;
    

3) Telefonní čísla a časové bloky

phoneNumberSplit (boolean) a phoneNumberPrefix (string)

    bullet

    Účel: Formátování telefonu do bloků + výchozí předvolba pro nature:phone validace.

    bullet

    Default: phoneNumberSplit = true, phoneNumberPrefix = "420"

    bullet

    Příklad:

     $custom.phoneNumberSplit = true;
    $custom.phoneNumberPrefix = "420";
    

timeSelectorBlock (15 | 30)

    bullet

    Účel: Délka slotu v timepickeru (addon timebox).

    bullet

    Default: 30

    bullet

    Příklad:

     $custom.timeSelectorBlock = 30;
    

4) Messenger

messenger (boolean)

    bullet

    Účel: Zapnutí COMEX Messengeru (řízení refreshů tabulek apod.).

    bullet

    Default: false

    bullet

    Příklad:

     $custom.messenger = false;
    

5) Přednastavené datumové rozsahy

dateRangePresets (objekt)

    bullet

    Účel: Vlastní presety; první sada je defaultní.

    bullet

    Formát výrazů: W+0 (týden), M-1~M+0 (od minulého do aktuálního měsíce), Q (kvartál), Y (rok), -N (zpět), +N (vpřed).

    bullet

    Příklad:

     $custom.dateRangePresets = {
      customSet1: {
        dateRangeThisWeek: "W+0",
        dateRangeLast2Weeks: "W-1~W+0",
        dateRangeThisMonth: "M+0",
        dateRangeLast2Months: "M-1~M+0",
        dateRangeThisQuartal: "Q+0",
        dateRangeLast2Quartals: "Q-1~Q+0",
        dateRangeThisYear: "Y+0",
          dateRangeLast12Months: "M-11~M+0",
        dateRangeLast2Years: "Y-1~Y+0",
      }
    };
    

6) Dialogy

highlightDialogMainButton (boolean)

    bullet

    Účel: Zvýraznění hlavního tlačítka v dialogu.

    bullet

    Default: false

    bullet

    Příklad:

     $custom.highlightDialogMainButton = false;
    

7) Oznámení (Alerts)

Alerts.enabled (boolean) a Alerts.useMessenger (boolean)

    bullet

    Účel: Zapnutí oznamování a zdroj zpráv (lokálně vs. z Messengeru).

    bullet

    Default: enabled = true, useMessenger = false

    bullet

    Příklad:

     $custom.Alerts.enabled = true;
    $custom.Alerts.useMessenger = false;
    

Alerts.messages (array)

    bullet

    Účel: Lokální předdefinované zprávy.

    bullet

    Struktura položky:

     type|[volitelná expirace YYYY-MM-DD hh:mm:ss]|text
    

8) Support (plovoucí bublina nápovědy)

Support.enabled (boolean)

    bullet

    Účel: Zobrazení/skrýtí widgetu podpory.

    bullet

    Default: false

Support.icon (URL) a Support.contentPage (URL)

    bullet

    Účel: Ikona a HTML obsah, který se načte do bubliny podpory.

    bullet

    Příklad:

     $custom.Support.enabled = false;
    $custom.Support.icon = "/unk/comex/images/support.svg";
    $custom.Support.contentPage = "/unk/comex/custom/support.htm";
    

Support.requestAction (string) a Support.requestPage (URL)

    bullet

    Účel: Jak odeslat požadavek na podporu. Akce má přednost před URL.

    bullet

    Příklad:

     $custom.Support.requestAction = "send_action_request"; // název akce v COMEXu
    $custom.Support.requestPage = "/comex/?id=1234";       // fallback/alternativa
    

9) Nastavení uživatele (User)

User.disallowPasswordChange (boolean)

    bullet

    Účel: Zakázat změnu hesla v uživatelských nastaveních.

    bullet

    Default: false

User.activeWorkTimeFrom (number) a User.activeWorkTimeTo (number)

    bullet

    Účel: Aktivní pracovní doba (např. pro notifikace/plánování).

    bullet

    Default: 7 a 16

    bullet

    Příklad:

     $custom.User.activeWorkTimeFrom = 7;
    $custom.User.activeWorkTimeTo   = 16;
    

User.hideActiveWorkTimeSettings (boolean)

    bullet

    Účel: Skrýt v UI nastavení pracovní doby.

    bullet

    Default: false

User.loadHomepageByDefault (boolean)

    bullet

    Účel: Pokud není určeno ID stránky, otevřít „Moji stránku“.

    bullet

    Default: false

User.keepCurrentModulePosition (boolean) a User.keepOtherModulesExpanded (boolean)

    bullet

    Účel: Zachovat aktuální modul v menu / nechat ostatní rozbalené.

    bullet

    Default: false, false

User.entitySelectorStatement (SQL string)

    bullet

    Účel: SQL dotaz pro seznam entit/organizací uživatele.

    bullet

    Placeholdery: #userId# (aktuální uživatel)

    bullet

    Příklad:

     $custom.User.entitySelectorStatement =
      "SELECT pdk as 'id', hd_jm as 'label' FROM dbo.org-!- as o WHERE xc_del = 0 AND user=#userId#";
    

User.entitySelectorLSV (string) a User.entitySelectorListLSV (string)

    bullet

    Účel: Názvy LSV pro aktuální entitu a seznam entit.

    bullet

    Příklad:

     $custom.User.entitySelectorLSV = "userEntity";
    $custom.User.entitySelectorListLSV = "userEntities";
    

User.sessionSource ("login" | "cookies")

    bullet

    Účel: Zdroj session id (dočasné nastavení kvůli variantám serveru).

    bullet

    Default: "cookies"

    bullet

    Příklad:

     $custom.User.sessionSource = "cookies";
    

10) Dokumenty (Preview/Form)

Document.Preview.pdfExport (boolean) a Document.Preview.print (boolean)

    bullet

    Účel: Povolit export náhledu do PDF / tisk náhledu.

    bullet

    Default: true

    bullet

    Příklad:

     $custom.Document.Preview.pdfExport = true;
    $custom.Document.Preview.print = true;
    

Document.Form.version (1 | 2)

    bullet

    Účel: Generace formuláře (1 = původní, 2 = nová).

    bullet

    Default: 2

    bullet

    Příklad:

     $custom.Document.Form.version = 2;
    

11) Tabulky

Table.allowDataCopying (boolean)

    bullet

    Účel: Povolit kopírování dat z tabulek (clipboard).

    bullet

    Default: true

    bullet

    Příklad:

     $custom.Table.allowDataCopying = true;
    

Table.Data.swapToolsAndButtons (boolean)

    bullet

    Účel: „Hack“ pro prohození typů nástrojů button a tool u tabulek.

    bullet

    Poznámka: V komentáři je „default: true“, ve vzoru je nastaveno na false.

    bullet

    Příklad:

     $custom.Table.Data.swapToolsAndButtons = false;
    

Doplňující poznámky pro implementaci

    bullet

    Priorita podpory: Pokud je nastavena Support.requestAction, použije se před Support.requestPage. Akce tedy přebíjí prosté přesměrování na URL.

    bullet

    DateRange výrazy:

      bullet

      W, M, Q, Y = týden/měsíc/kvartál/rok; +0 aktuální, -1 minulý.

      bullet

      Rozsah A~B znamená „od A do B včetně“ (např. M-11~M+0 = posledních 12 měsíců).

    bullet

    Messenger: Nezapínej, pokud aplikace Messenger aktivně nevyužívá (zbytečné overheady).

    bullet

    LSV názvy: Dohlédni, že LSV (např. userEntity, userEntities) jsou skutečně publikované a dostupné v daném COMEXu.

    bullet

    UI konzistence: Pokud použiješ corners="sharp", zvaž sladění s layout="v1" (kompaktnější vzhled), „v2“ působí lépe se smooth rohy.

bullet

    bullet

    type ∈ info, info-banner, warning, warning-banner

bullet

Příklad:

 $custom.Alerts.messages = [
  "info|2025-12-31 23:59:59|Systém bude krátce nedostupný.",
  "warning-banner||Pozor: změna ceníku od 1. 10."
];